var express = require('express');
var router = express.Router();
let svgCaptcha = require("svg-captcha")
let fs = require("fs");
let timer = require("time-stamp");



/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});


// ejs渲染登录页面
router.get("/login",(req,res)=>{
  res.render("./login.ejs");
})

// ejs渲染注册界面
router.get("/register",(req,res)=>{
  res.render("./register.ejs");
})

// 登录界面验证
router.post("/dologin",(req,res,next)=>{
  let {username,password} = req.body;
  let arr = JSON.parse(fs.readFileSync("./persons.json").toString("utf-8"));
  let num = arr.findIndex((a)=>{
    return a.username == username && a.password == password;
  })
  if(num != -1){
    res.send("登录成功");
  }else{
    next("账号或密码错误");
  }
})
// 注册界面验证
router.post("/doregister",(req,res,next)=>{
  let {username,password,yzm} = req.body;
if((req.session["yzm"]).toLowerCase() != yzm.toLowerCase() ){
  next("验证码错误");
}else{
  let arr = JSON.parse(fs.readFileSync("./persons.json").toString("utf-8"));
  let num = arr.findIndex((a)=>{
    return a.username == username;
  });
  if(num != -1){
    next("该账号已注册");
  }else{
    let time = timer("YYYY年MM月DD日 HH时mm分ss秒");
    arr.push({username,password,time});
    fs.writeFileSync("./persons.json",JSON.stringify(arr));
    res.send("注册成功")
  }
}
})

// 验证码图片
router.get("/svgcode", (req, res) => {
  let options = {
    size: 4,// 验证码长度
    width: 400, //验证码图片宽度
    height: 160, //验证码图片的高度
    background: "#fff", //验证码图片的背景颜色
    noise: 4, //验证码图片中的干扰线
    fontSize: 250, //验证码图片中文字大小
    color: true, //验证码图片中文字颜色
    ignoreChars: "i1o0" //容易混淆的字符不要出现在验证码中
  };
  let svg = svgCaptcha.create(options);
  // console.log( svg );
  // svg.text 为随机生成的字符串；svg.data为字符串组成的svg格式的图形。

  // 思路：svg.text为随机生成的验证码存储在session中，将svg.data发送到浏览器，然后对比
  // console.log(svg.data);
  
  
  req.session["yzm"] = svg.text;
  res.type("svg");
  res.send( svg.data );
})



// 所有信息
router.get("/list",(req,res)=>{
  let arr = JSON.parse(fs.readFileSync("./persons.json").toString("utf-8"));
  console.log(arr);
  let obj = {
    arr:arr
  }
  res.render("list.ejs",obj);
})

module.exports = router;
